/**
 Do not return anything, modify nums in-place instead.
 */
// function moveZeroes(nums: number[]): void {
//     let start = 0;
//     let end = nums.length - 1;

//     while (start < end) {
//         // console.log(start, end);
//         if (nums[start] === 0) {
//             if (nums[end] === 0) {
//                 end--;
//             } else {
//                 const temp = nums[end];
//                 nums[end] = nums[start];
//                 nums[start] = temp;
//                 start++;
//                 end--;
//             }
//         } else {
//             start++;
//         }
//     }

//     console.log(nums);
// };
function moveZeroes(nums: number[]): void {
    let bef = 0;
    let end = 0;
    while(end < nums.length) {
        if(nums[end]) {
            const temp = nums[end];
            nums[end] = nums[bef];
            nums[bef] = temp;
            bef++;
        }
        end++;
    }

    // console.log(nums);
};

const nums9 = [0, 1, 0, 3, 12];
moveZeroes(nums9);
